/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.mto.module.karaoke.service.persistence;

import com.liferay.portal.service.persistence.BasePersistence;

import com.mto.module.karaoke.model.Song;

/**
 * The persistence interface for the song service.
 *
 * <p>
 * Caching information and settings can be found in <code>portal.properties</code>
 * </p>
 *
 * @author vuonglm
 * @see SongPersistenceImpl
 * @see SongUtil
 * @generated
 */
public interface SongPersistence extends BasePersistence<Song> {
	/*
	 * NOTE FOR DEVELOPERS:
	 *
	 * Never modify or reference this interface directly. Always use {@link SongUtil} to access the song persistence. Modify <code>service.xml</code> and rerun ServiceBuilder to regenerate this interface.
	 */

	/**
	* Caches the song in the entity cache if it is enabled.
	*
	* @param song the song
	*/
	public void cacheResult(com.mto.module.karaoke.model.Song song);

	/**
	* Caches the songs in the entity cache if it is enabled.
	*
	* @param songs the songs
	*/
	public void cacheResult(
		java.util.List<com.mto.module.karaoke.model.Song> songs);

	/**
	* Creates a new song with the primary key. Does not add the song to the database.
	*
	* @param songId the primary key for the new song
	* @return the new song
	*/
	public com.mto.module.karaoke.model.Song create(long songId);

	/**
	* Removes the song with the primary key from the database. Also notifies the appropriate model listeners.
	*
	* @param songId the primary key of the song
	* @return the song that was removed
	* @throws com.mto.module.karaoke.NoSuchSongException if a song with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song remove(long songId)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	public com.mto.module.karaoke.model.Song updateImpl(
		com.mto.module.karaoke.model.Song song, boolean merge)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the song with the primary key or throws a {@link com.mto.module.karaoke.NoSuchSongException} if it could not be found.
	*
	* @param songId the primary key of the song
	* @return the song
	* @throws com.mto.module.karaoke.NoSuchSongException if a song with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findByPrimaryKey(long songId)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the song with the primary key or returns <code>null</code> if it could not be found.
	*
	* @param songId the primary key of the song
	* @return the song, or <code>null</code> if a song with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchByPrimaryKey(long songId)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns all the songs where songName = &#63;.
	*
	* @param songName the song name
	* @return the matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongName(
		java.lang.String songName)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns a range of all the songs where songName = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param songName the song name
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @return the range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongName(
		java.lang.String songName, int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns an ordered range of all the songs where songName = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param songName the song name
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	* @return the ordered range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongName(
		java.lang.String songName, int start, int end,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the first song in the ordered set where songName = &#63;.
	*
	* @param songName the song name
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findBySongName_First(
		java.lang.String songName,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the first song in the ordered set where songName = &#63;.
	*
	* @param songName the song name
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchBySongName_First(
		java.lang.String songName,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the last song in the ordered set where songName = &#63;.
	*
	* @param songName the song name
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findBySongName_Last(
		java.lang.String songName,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the last song in the ordered set where songName = &#63;.
	*
	* @param songName the song name
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchBySongName_Last(
		java.lang.String songName,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the songs before and after the current song in the ordered set where songName = &#63;.
	*
	* @param songId the primary key of the current song
	* @param songName the song name
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the previous, current, and next song
	* @throws com.mto.module.karaoke.NoSuchSongException if a song with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song[] findBySongName_PrevAndNext(
		long songId, java.lang.String songName,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns all the songs where songAuthor = &#63;.
	*
	* @param songAuthor the song author
	* @return the matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongAuthor(
		java.lang.String songAuthor)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns a range of all the songs where songAuthor = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param songAuthor the song author
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @return the range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongAuthor(
		java.lang.String songAuthor, int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns an ordered range of all the songs where songAuthor = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param songAuthor the song author
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	* @return the ordered range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongAuthor(
		java.lang.String songAuthor, int start, int end,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the first song in the ordered set where songAuthor = &#63;.
	*
	* @param songAuthor the song author
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findBySongAuthor_First(
		java.lang.String songAuthor,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the first song in the ordered set where songAuthor = &#63;.
	*
	* @param songAuthor the song author
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchBySongAuthor_First(
		java.lang.String songAuthor,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the last song in the ordered set where songAuthor = &#63;.
	*
	* @param songAuthor the song author
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findBySongAuthor_Last(
		java.lang.String songAuthor,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the last song in the ordered set where songAuthor = &#63;.
	*
	* @param songAuthor the song author
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchBySongAuthor_Last(
		java.lang.String songAuthor,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the songs before and after the current song in the ordered set where songAuthor = &#63;.
	*
	* @param songId the primary key of the current song
	* @param songAuthor the song author
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the previous, current, and next song
	* @throws com.mto.module.karaoke.NoSuchSongException if a song with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song[] findBySongAuthor_PrevAndNext(
		long songId, java.lang.String songAuthor,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns all the songs where songCategory = &#63;.
	*
	* @param songCategory the song category
	* @return the matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongCategory(
		int songCategory)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns a range of all the songs where songCategory = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param songCategory the song category
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @return the range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongCategory(
		int songCategory, int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns an ordered range of all the songs where songCategory = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param songCategory the song category
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	* @return the ordered range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongCategory(
		int songCategory, int start, int end,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the first song in the ordered set where songCategory = &#63;.
	*
	* @param songCategory the song category
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findBySongCategory_First(
		int songCategory,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the first song in the ordered set where songCategory = &#63;.
	*
	* @param songCategory the song category
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchBySongCategory_First(
		int songCategory,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the last song in the ordered set where songCategory = &#63;.
	*
	* @param songCategory the song category
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findBySongCategory_Last(
		int songCategory,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the last song in the ordered set where songCategory = &#63;.
	*
	* @param songCategory the song category
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchBySongCategory_Last(
		int songCategory,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the songs before and after the current song in the ordered set where songCategory = &#63;.
	*
	* @param songId the primary key of the current song
	* @param songCategory the song category
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the previous, current, and next song
	* @throws com.mto.module.karaoke.NoSuchSongException if a song with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song[] findBySongCategory_PrevAndNext(
		long songId, int songCategory,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns all the songs where songSinger = &#63;.
	*
	* @param songSinger the song singer
	* @return the matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongSinger(
		java.lang.String songSinger)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns a range of all the songs where songSinger = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param songSinger the song singer
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @return the range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongSinger(
		java.lang.String songSinger, int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns an ordered range of all the songs where songSinger = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param songSinger the song singer
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	* @return the ordered range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findBySongSinger(
		java.lang.String songSinger, int start, int end,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the first song in the ordered set where songSinger = &#63;.
	*
	* @param songSinger the song singer
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findBySongSinger_First(
		java.lang.String songSinger,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the first song in the ordered set where songSinger = &#63;.
	*
	* @param songSinger the song singer
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchBySongSinger_First(
		java.lang.String songSinger,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the last song in the ordered set where songSinger = &#63;.
	*
	* @param songSinger the song singer
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findBySongSinger_Last(
		java.lang.String songSinger,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the last song in the ordered set where songSinger = &#63;.
	*
	* @param songSinger the song singer
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchBySongSinger_Last(
		java.lang.String songSinger,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the songs before and after the current song in the ordered set where songSinger = &#63;.
	*
	* @param songId the primary key of the current song
	* @param songSinger the song singer
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the previous, current, and next song
	* @throws com.mto.module.karaoke.NoSuchSongException if a song with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song[] findBySongSinger_PrevAndNext(
		long songId, java.lang.String songSinger,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns all the songs where recordNumber = &#63;.
	*
	* @param recordNumber the record number
	* @return the matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findByRecordNumber(
		long recordNumber)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns a range of all the songs where recordNumber = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param recordNumber the record number
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @return the range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findByRecordNumber(
		long recordNumber, int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns an ordered range of all the songs where recordNumber = &#63;.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param recordNumber the record number
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	* @return the ordered range of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findByRecordNumber(
		long recordNumber, int start, int end,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the first song in the ordered set where recordNumber = &#63;.
	*
	* @param recordNumber the record number
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findByRecordNumber_First(
		long recordNumber,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the first song in the ordered set where recordNumber = &#63;.
	*
	* @param recordNumber the record number
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the first matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchByRecordNumber_First(
		long recordNumber,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the last song in the ordered set where recordNumber = &#63;.
	*
	* @param recordNumber the record number
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song
	* @throws com.mto.module.karaoke.NoSuchSongException if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song findByRecordNumber_Last(
		long recordNumber,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns the last song in the ordered set where recordNumber = &#63;.
	*
	* @param recordNumber the record number
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the last matching song, or <code>null</code> if a matching song could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song fetchByRecordNumber_Last(
		long recordNumber,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the songs before and after the current song in the ordered set where recordNumber = &#63;.
	*
	* @param songId the primary key of the current song
	* @param recordNumber the record number
	* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
	* @return the previous, current, and next song
	* @throws com.mto.module.karaoke.NoSuchSongException if a song with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.mto.module.karaoke.model.Song[] findByRecordNumber_PrevAndNext(
		long songId, long recordNumber,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException,
			com.mto.module.karaoke.NoSuchSongException;

	/**
	* Returns all the songs.
	*
	* @return the songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findAll()
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns a range of all the songs.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @return the range of songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findAll(
		int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns an ordered range of all the songs.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param start the lower bound of the range of songs
	* @param end the upper bound of the range of songs (not inclusive)
	* @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	* @return the ordered range of songs
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.mto.module.karaoke.model.Song> findAll(
		int start, int end,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Removes all the songs where songName = &#63; from the database.
	*
	* @param songName the song name
	* @throws SystemException if a system exception occurred
	*/
	public void removeBySongName(java.lang.String songName)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Removes all the songs where songAuthor = &#63; from the database.
	*
	* @param songAuthor the song author
	* @throws SystemException if a system exception occurred
	*/
	public void removeBySongAuthor(java.lang.String songAuthor)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Removes all the songs where songCategory = &#63; from the database.
	*
	* @param songCategory the song category
	* @throws SystemException if a system exception occurred
	*/
	public void removeBySongCategory(int songCategory)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Removes all the songs where songSinger = &#63; from the database.
	*
	* @param songSinger the song singer
	* @throws SystemException if a system exception occurred
	*/
	public void removeBySongSinger(java.lang.String songSinger)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Removes all the songs where recordNumber = &#63; from the database.
	*
	* @param recordNumber the record number
	* @throws SystemException if a system exception occurred
	*/
	public void removeByRecordNumber(long recordNumber)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Removes all the songs from the database.
	*
	* @throws SystemException if a system exception occurred
	*/
	public void removeAll()
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the number of songs where songName = &#63;.
	*
	* @param songName the song name
	* @return the number of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public int countBySongName(java.lang.String songName)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the number of songs where songAuthor = &#63;.
	*
	* @param songAuthor the song author
	* @return the number of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public int countBySongAuthor(java.lang.String songAuthor)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the number of songs where songCategory = &#63;.
	*
	* @param songCategory the song category
	* @return the number of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public int countBySongCategory(int songCategory)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the number of songs where songSinger = &#63;.
	*
	* @param songSinger the song singer
	* @return the number of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public int countBySongSinger(java.lang.String songSinger)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the number of songs where recordNumber = &#63;.
	*
	* @param recordNumber the record number
	* @return the number of matching songs
	* @throws SystemException if a system exception occurred
	*/
	public int countByRecordNumber(long recordNumber)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the number of songs.
	*
	* @return the number of songs
	* @throws SystemException if a system exception occurred
	*/
	public int countAll()
		throws com.liferay.portal.kernel.exception.SystemException;
}